// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g 2012-10-17 19:03:22

    package practica5;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class Lexico extends Lexer {
    public static final int EOF=-1;
    public static final int AND=4;
    public static final int ASTERISCO=5;
    public static final int BLANCO=6;
    public static final int CADENA=7;
    public static final int CHAR=8;
    public static final int COMA=9;
    public static final int COMENTARIO=10;
    public static final int COMENTARIO_A=11;
    public static final int COMENTARIO_C=12;
    public static final int COMILLAS=13;
    public static final int CORCHETES=14;
    public static final int CORCHETE_A=15;
    public static final int CORCHETE_C=16;
    public static final int DECREMENTO=17;
    public static final int DIGITO=18;
    public static final int GUION=19;
    public static final int IDENT=20;
    public static final int IGUAL=21;
    public static final int INCREMENTO=22;
    public static final int INT=23;
    public static final int LETRA=24;
    public static final int LLAVE_A=25;
    public static final int LLAVE_C=26;
    public static final int MAIN=27;
    public static final int NUEVOBLOQUE=28;
    public static final int NUMERO=29;
    public static final int OR=30;
    public static final int PARENTESIS_A=31;
    public static final int PARENTESIS_C=32;
    public static final int PORCENTAJE=33;
    public static final int PRINTF=34;
    public static final int PUNTO=35;
    public static final int PUNTO_COMA=36;
    public static final int RANGO=37;
    public static final int RET=38;
    public static final int SUMA=39;
    public static final int VOID=40;

    //    private ArrayList<String> errors = new ArrayList<String>();
    //    public void displayRecognitionError(String[] tokenNames, RecognitionException e) {
    //        String hdr = getErrorHeader(e);
    //        String msg = getErrorMessage(e, tokenNames);
    //        errors.add(hdr + " " + msg);
    //    }
    //    public ArrayList<String> getErrors() {
    //        return errors;
    //    }
         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }
     


    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public Lexico() {} 
    public Lexico(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public Lexico(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g"; }

    // $ANTLR start "BLANCO"
    public final void mBLANCO() throws RecognitionException {
        try {
            int _type = BLANCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:40:7: ( ( ' ' | '\\t' | '\\r\\n' | '\\n' ) )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:40:9: ( ' ' | '\\t' | '\\r\\n' | '\\n' )
            {
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:40:9: ( ' ' | '\\t' | '\\r\\n' | '\\n' )
            int alt1=4;
            switch ( input.LA(1) ) {
            case ' ':
                {
                alt1=1;
                }
                break;
            case '\t':
                {
                alt1=2;
                }
                break;
            case '\r':
                {
                alt1=3;
                }
                break;
            case '\n':
                {
                alt1=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 1, 0, input);

                throw nvae;

            }

            switch (alt1) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:40:10: ' '
                    {
                    match(' '); 

                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:40:14: '\\t'
                    {
                    match('\t'); 

                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:40:19: '\\r\\n'
                    {
                    match("\r\n"); 



                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:40:26: '\\n'
                    {
                    match('\n'); 

                    }
                    break;

            }


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "BLANCO"

    // $ANTLR start "DIGITO"
    public final void mDIGITO() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:41:16: ( '0' .. '9' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:
            {
            if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DIGITO"

    // $ANTLR start "LETRA"
    public final void mLETRA() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:42:15: ( 'a' .. 'z' | 'A' .. 'Z' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }


        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LETRA"

    // $ANTLR start "INT"
    public final void mINT() throws RecognitionException {
        try {
            int _type = INT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:43:4: ( 'int' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:43:6: 'int'
            {
            match("int"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INT"

    // $ANTLR start "CHAR"
    public final void mCHAR() throws RecognitionException {
        try {
            int _type = CHAR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:44:5: ( 'char' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:44:7: 'char'
            {
            match("char"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CHAR"

    // $ANTLR start "VOID"
    public final void mVOID() throws RecognitionException {
        try {
            int _type = VOID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:45:5: ( 'void' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:45:7: 'void'
            {
            match("void"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "VOID"

    // $ANTLR start "RET"
    public final void mRET() throws RecognitionException {
        try {
            int _type = RET;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:46:4: ( 'return' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:46:6: 'return'
            {
            match("return"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "RET"

    // $ANTLR start "MAIN"
    public final void mMAIN() throws RecognitionException {
        try {
            int _type = MAIN;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:47:5: ( 'main' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:47:7: 'main'
            {
            match("main"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "MAIN"

    // $ANTLR start "PRINTF"
    public final void mPRINTF() throws RecognitionException {
        try {
            int _type = PRINTF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:48:7: ( 'printf' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:48:9: 'printf'
            {
            match("printf"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PRINTF"

    // $ANTLR start "NUMERO"
    public final void mNUMERO() throws RecognitionException {
        try {
            int _type = NUMERO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:49:7: ( ( DIGITO )+ ( '.' ( DIGITO )+ )? )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:49:9: ( DIGITO )+ ( '.' ( DIGITO )+ )?
            {
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:49:9: ( DIGITO )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( ((LA2_0 >= '0' && LA2_0 <= '9')) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:49:18: ( '.' ( DIGITO )+ )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0=='.') ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:49:19: '.' ( DIGITO )+
                    {
                    match('.'); 

                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:49:22: ( DIGITO )+
                    int cnt3=0;
                    loop3:
                    do {
                        int alt3=2;
                        int LA3_0 = input.LA(1);

                        if ( ((LA3_0 >= '0' && LA3_0 <= '9')) ) {
                            alt3=1;
                        }


                        switch (alt3) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:
                    	    {
                    	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9') ) {
                    	        input.consume();
                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;
                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt3 >= 1 ) break loop3;
                                EarlyExitException eee =
                                    new EarlyExitException(3, input);
                                throw eee;
                        }
                        cnt3++;
                    } while (true);


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUMERO"

    // $ANTLR start "IDENT"
    public final void mIDENT() throws RecognitionException {
        try {
            int _type = IDENT;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:50:6: ( LETRA ( LETRA | DIGITO )* )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:50:8: LETRA ( LETRA | DIGITO )*
            {
            mLETRA(); 


            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:50:13: ( LETRA | DIGITO )*
            loop5:
            do {
                int alt5=2;
                int LA5_0 = input.LA(1);

                if ( ((LA5_0 >= '0' && LA5_0 <= '9')||(LA5_0 >= 'A' && LA5_0 <= 'Z')||(LA5_0 >= 'a' && LA5_0 <= 'z')) ) {
                    alt5=1;
                }


                switch (alt5) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:
            	    {
            	    if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    break loop5;
                }
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IDENT"

    // $ANTLR start "OR"
    public final void mOR() throws RecognitionException {
        try {
            int _type = OR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:51:3: ( '|' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:51:5: '|'
            {
            match('|'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OR"

    // $ANTLR start "AND"
    public final void mAND() throws RecognitionException {
        try {
            int _type = AND;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:52:4: ( '&' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:52:6: '&'
            {
            match('&'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "AND"

    // $ANTLR start "IGUAL"
    public final void mIGUAL() throws RecognitionException {
        try {
            int _type = IGUAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:53:6: ( '=' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:53:8: '='
            {
            match('='); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "IGUAL"

    // $ANTLR start "COMILLAS"
    public final void mCOMILLAS() throws RecognitionException {
        try {
            int _type = COMILLAS;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:54:9: ( '\"' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:54:11: '\"'
            {
            match('\"'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMILLAS"

    // $ANTLR start "PARENTESIS_A"
    public final void mPARENTESIS_A() throws RecognitionException {
        try {
            int _type = PARENTESIS_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:55:13: ( '(' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:55:15: '('
            {
            match('('); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_A"

    // $ANTLR start "PARENTESIS_C"
    public final void mPARENTESIS_C() throws RecognitionException {
        try {
            int _type = PARENTESIS_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:56:13: ( ')' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:56:15: ')'
            {
            match(')'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PARENTESIS_C"

    // $ANTLR start "CORCHETE_A"
    public final void mCORCHETE_A() throws RecognitionException {
        try {
            int _type = CORCHETE_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:57:11: ( '[' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:57:13: '['
            {
            match('['); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CORCHETE_A"

    // $ANTLR start "CORCHETE_C"
    public final void mCORCHETE_C() throws RecognitionException {
        try {
            int _type = CORCHETE_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:58:11: ( ']' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:58:13: ']'
            {
            match(']'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CORCHETE_C"

    // $ANTLR start "ASTERISCO"
    public final void mASTERISCO() throws RecognitionException {
        try {
            int _type = ASTERISCO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:59:10: ( '*' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:59:12: '*'
            {
            match('*'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "ASTERISCO"

    // $ANTLR start "GUION"
    public final void mGUION() throws RecognitionException {
        try {
            int _type = GUION;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:60:6: ( '-' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:60:8: '-'
            {
            match('-'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "GUION"

    // $ANTLR start "LLAVE_A"
    public final void mLLAVE_A() throws RecognitionException {
        try {
            int _type = LLAVE_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:61:8: ( '{' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:61:10: '{'
            {
            match('{'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_A"

    // $ANTLR start "LLAVE_C"
    public final void mLLAVE_C() throws RecognitionException {
        try {
            int _type = LLAVE_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:62:8: ( '}' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:62:10: '}'
            {
            match('}'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "LLAVE_C"

    // $ANTLR start "PORCENTAJE"
    public final void mPORCENTAJE() throws RecognitionException {
        try {
            int _type = PORCENTAJE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:63:11: ( '%' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:63:13: '%'
            {
            match('%'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PORCENTAJE"

    // $ANTLR start "NUEVOBLOQUE"
    public final void mNUEVOBLOQUE() throws RecognitionException {
        try {
            int _type = NUEVOBLOQUE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:64:12: ( '%%' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:64:14: '%%'
            {
            match("%%"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "NUEVOBLOQUE"

    // $ANTLR start "COMA"
    public final void mCOMA() throws RecognitionException {
        try {
            int _type = COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:65:5: ( ',' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:65:7: ','
            {
            match(','); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMA"

    // $ANTLR start "PUNTO"
    public final void mPUNTO() throws RecognitionException {
        try {
            int _type = PUNTO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:66:6: ( '.' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:66:8: '.'
            {
            match('.'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PUNTO"

    // $ANTLR start "PUNTO_COMA"
    public final void mPUNTO_COMA() throws RecognitionException {
        try {
            int _type = PUNTO_COMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:67:11: ( ';' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:67:13: ';'
            {
            match(';'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "PUNTO_COMA"

    // $ANTLR start "COMENTARIO_A"
    public final void mCOMENTARIO_A() throws RecognitionException {
        try {
            int _type = COMENTARIO_A;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:68:13: ( '/*' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:68:15: '/*'
            {
            match("/*"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO_A"

    // $ANTLR start "COMENTARIO_C"
    public final void mCOMENTARIO_C() throws RecognitionException {
        try {
            int _type = COMENTARIO_C;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:69:13: ( '*/' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:69:15: '*/'
            {
            match("*/"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO_C"

    // $ANTLR start "SUMA"
    public final void mSUMA() throws RecognitionException {
        try {
            int _type = SUMA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:70:5: ( '+' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:70:7: '+'
            {
            match('+'); 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "SUMA"

    // $ANTLR start "INCREMENTO"
    public final void mINCREMENTO() throws RecognitionException {
        try {
            int _type = INCREMENTO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:71:11: ( '++' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:71:13: '++'
            {
            match("++"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "INCREMENTO"

    // $ANTLR start "DECREMENTO"
    public final void mDECREMENTO() throws RecognitionException {
        try {
            int _type = DECREMENTO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:72:11: ( '--' )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:72:13: '--'
            {
            match("--"); 



            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "DECREMENTO"

    // $ANTLR start "CORCHETES"
    public final void mCORCHETES() throws RecognitionException {
        try {
            int _type = CORCHETES;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:73:10: ( CORCHETE_A ( RANGO | NUMERO )? CORCHETE_C )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:73:12: CORCHETE_A ( RANGO | NUMERO )? CORCHETE_C
            {
            mCORCHETE_A(); 


            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:73:23: ( RANGO | NUMERO )?
            int alt6=3;
            alt6 = dfa6.predict(input);
            switch (alt6) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:73:24: RANGO
                    {
                    mRANGO(); 


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:73:30: NUMERO
                    {
                    mNUMERO(); 


                    }
                    break;

            }


            mCORCHETE_C(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CORCHETES"

    // $ANTLR start "RANGO"
    public final void mRANGO() throws RecognitionException {
        try {
            int _type = RANGO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:74:6: ( ( NUMERO GUION NUMERO ) | ( LETRA GUION LETRA )+ )
            int alt8=2;
            int LA8_0 = input.LA(1);

            if ( ((LA8_0 >= '0' && LA8_0 <= '9')) ) {
                alt8=1;
            }
            else if ( ((LA8_0 >= 'A' && LA8_0 <= 'Z')||(LA8_0 >= 'a' && LA8_0 <= 'z')) ) {
                alt8=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 8, 0, input);

                throw nvae;

            }
            switch (alt8) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:74:7: ( NUMERO GUION NUMERO )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:74:7: ( NUMERO GUION NUMERO )
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:74:8: NUMERO GUION NUMERO
                    {
                    mNUMERO(); 


                    mGUION(); 


                    mNUMERO(); 


                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:74:29: ( LETRA GUION LETRA )+
                    {
                    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:74:29: ( LETRA GUION LETRA )+
                    int cnt7=0;
                    loop7:
                    do {
                        int alt7=2;
                        int LA7_0 = input.LA(1);

                        if ( ((LA7_0 >= 'A' && LA7_0 <= 'Z')||(LA7_0 >= 'a' && LA7_0 <= 'z')) ) {
                            alt7=1;
                        }


                        switch (alt7) {
                    	case 1 :
                    	    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:74:30: LETRA GUION LETRA
                    	    {
                    	    mLETRA(); 


                    	    mGUION(); 


                    	    mLETRA(); 


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt7 >= 1 ) break loop7;
                                EarlyExitException eee =
                                    new EarlyExitException(7, input);
                                throw eee;
                        }
                        cnt7++;
                    } while (true);


                    }
                    break;

            }
            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "RANGO"

    // $ANTLR start "CADENA"
    public final void mCADENA() throws RecognitionException {
        try {
            int _type = CADENA;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:75:7: ( COMILLAS ( options {greedy=false; } : . )* COMILLAS )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:75:9: COMILLAS ( options {greedy=false; } : . )* COMILLAS
            {
            mCOMILLAS(); 


            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:75:18: ( options {greedy=false; } : . )*
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0=='\"') ) {
                    alt9=2;
                }
                else if ( ((LA9_0 >= '\u0000' && LA9_0 <= '!')||(LA9_0 >= '#' && LA9_0 <= '\uFFFF')) ) {
                    alt9=1;
                }


                switch (alt9) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:75:43: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop9;
                }
            } while (true);


            mCOMILLAS(); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "CADENA"

    // $ANTLR start "COMENTARIO"
    public final void mCOMENTARIO() throws RecognitionException {
        try {
            int _type = COMENTARIO;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:76:11: ( COMENTARIO_A ( options {greedy=false; } : . )* COMENTARIO_C )
            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:76:13: COMENTARIO_A ( options {greedy=false; } : . )* COMENTARIO_C
            {
            mCOMENTARIO_A(); 


            // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:76:26: ( options {greedy=false; } : . )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0=='*') ) {
                    int LA10_1 = input.LA(2);

                    if ( (LA10_1=='/') ) {
                        alt10=2;
                    }
                    else if ( ((LA10_1 >= '\u0000' && LA10_1 <= '.')||(LA10_1 >= '0' && LA10_1 <= '\uFFFF')) ) {
                        alt10=1;
                    }


                }
                else if ( ((LA10_0 >= '\u0000' && LA10_0 <= ')')||(LA10_0 >= '+' && LA10_0 <= '\uFFFF')) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:76:51: .
            	    {
            	    matchAny(); 

            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);


            mCOMENTARIO_C(); 


            skip();

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "COMENTARIO"

    public void mTokens() throws RecognitionException {
        // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:8: ( BLANCO | INT | CHAR | VOID | RET | MAIN | PRINTF | NUMERO | IDENT | OR | AND | IGUAL | COMILLAS | PARENTESIS_A | PARENTESIS_C | CORCHETE_A | CORCHETE_C | ASTERISCO | GUION | LLAVE_A | LLAVE_C | PORCENTAJE | NUEVOBLOQUE | COMA | PUNTO | PUNTO_COMA | COMENTARIO_A | COMENTARIO_C | SUMA | INCREMENTO | DECREMENTO | CORCHETES | RANGO | CADENA | COMENTARIO )
        int alt11=35;
        alt11 = dfa11.predict(input);
        switch (alt11) {
            case 1 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:10: BLANCO
                {
                mBLANCO(); 


                }
                break;
            case 2 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:17: INT
                {
                mINT(); 


                }
                break;
            case 3 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:21: CHAR
                {
                mCHAR(); 


                }
                break;
            case 4 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:26: VOID
                {
                mVOID(); 


                }
                break;
            case 5 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:31: RET
                {
                mRET(); 


                }
                break;
            case 6 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:35: MAIN
                {
                mMAIN(); 


                }
                break;
            case 7 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:40: PRINTF
                {
                mPRINTF(); 


                }
                break;
            case 8 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:47: NUMERO
                {
                mNUMERO(); 


                }
                break;
            case 9 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:54: IDENT
                {
                mIDENT(); 


                }
                break;
            case 10 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:60: OR
                {
                mOR(); 


                }
                break;
            case 11 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:63: AND
                {
                mAND(); 


                }
                break;
            case 12 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:67: IGUAL
                {
                mIGUAL(); 


                }
                break;
            case 13 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:73: COMILLAS
                {
                mCOMILLAS(); 


                }
                break;
            case 14 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:82: PARENTESIS_A
                {
                mPARENTESIS_A(); 


                }
                break;
            case 15 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:95: PARENTESIS_C
                {
                mPARENTESIS_C(); 


                }
                break;
            case 16 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:108: CORCHETE_A
                {
                mCORCHETE_A(); 


                }
                break;
            case 17 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:119: CORCHETE_C
                {
                mCORCHETE_C(); 


                }
                break;
            case 18 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:130: ASTERISCO
                {
                mASTERISCO(); 


                }
                break;
            case 19 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:140: GUION
                {
                mGUION(); 


                }
                break;
            case 20 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:146: LLAVE_A
                {
                mLLAVE_A(); 


                }
                break;
            case 21 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:154: LLAVE_C
                {
                mLLAVE_C(); 


                }
                break;
            case 22 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:162: PORCENTAJE
                {
                mPORCENTAJE(); 


                }
                break;
            case 23 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:173: NUEVOBLOQUE
                {
                mNUEVOBLOQUE(); 


                }
                break;
            case 24 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:185: COMA
                {
                mCOMA(); 


                }
                break;
            case 25 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:190: PUNTO
                {
                mPUNTO(); 


                }
                break;
            case 26 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:196: PUNTO_COMA
                {
                mPUNTO_COMA(); 


                }
                break;
            case 27 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:207: COMENTARIO_A
                {
                mCOMENTARIO_A(); 


                }
                break;
            case 28 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:220: COMENTARIO_C
                {
                mCOMENTARIO_C(); 


                }
                break;
            case 29 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:233: SUMA
                {
                mSUMA(); 


                }
                break;
            case 30 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:238: INCREMENTO
                {
                mINCREMENTO(); 


                }
                break;
            case 31 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:249: DECREMENTO
                {
                mDECREMENTO(); 


                }
                break;
            case 32 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:260: CORCHETES
                {
                mCORCHETES(); 


                }
                break;
            case 33 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:270: RANGO
                {
                mRANGO(); 


                }
                break;
            case 34 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:276: CADENA
                {
                mCADENA(); 


                }
                break;
            case 35 :
                // C:\\Users\\usuario\\workspace\\Practica5-PL\\src\\main\\java\\practica5\\Lexico.g:1:283: COMENTARIO
                {
                mCOMENTARIO(); 


                }
                break;

        }

    }


    protected DFA6 dfa6 = new DFA6(this);
    protected DFA11 dfa11 = new DFA11(this);
    static final String DFA6_eotS =
        "\7\uffff";
    static final String DFA6_eofS =
        "\7\uffff";
    static final String DFA6_minS =
        "\1\60\1\55\2\uffff\1\60\1\uffff\1\55";
    static final String DFA6_maxS =
        "\1\172\1\135\2\uffff\1\71\1\uffff\1\135";
    static final String DFA6_acceptS =
        "\2\uffff\1\1\1\3\1\uffff\1\2\1\uffff";
    static final String DFA6_specialS =
        "\7\uffff}>";
    static final String[] DFA6_transitionS = {
            "\12\1\7\uffff\32\2\2\uffff\1\3\3\uffff\32\2",
            "\1\2\1\4\1\uffff\12\1\43\uffff\1\5",
            "",
            "",
            "\12\6",
            "",
            "\1\2\2\uffff\12\6\43\uffff\1\5"
    };

    static final short[] DFA6_eot = DFA.unpackEncodedString(DFA6_eotS);
    static final short[] DFA6_eof = DFA.unpackEncodedString(DFA6_eofS);
    static final char[] DFA6_min = DFA.unpackEncodedStringToUnsignedChars(DFA6_minS);
    static final char[] DFA6_max = DFA.unpackEncodedStringToUnsignedChars(DFA6_maxS);
    static final short[] DFA6_accept = DFA.unpackEncodedString(DFA6_acceptS);
    static final short[] DFA6_special = DFA.unpackEncodedString(DFA6_specialS);
    static final short[][] DFA6_transition;

    static {
        int numStates = DFA6_transitionS.length;
        DFA6_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA6_transition[i] = DFA.unpackEncodedString(DFA6_transitionS[i]);
        }
    }

    class DFA6 extends DFA {

        public DFA6(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 6;
            this.eot = DFA6_eot;
            this.eof = DFA6_eof;
            this.min = DFA6_min;
            this.max = DFA6_max;
            this.accept = DFA6_accept;
            this.special = DFA6_special;
            this.transition = DFA6_transition;
        }
        public String getDescription() {
            return "73:23: ( RANGO | NUMERO )?";
        }
    }
    static final String DFA11_eotS =
        "\2\uffff\6\35\1\45\1\35\3\uffff\1\46\2\uffff\1\50\1\uffff\1\53\1"+
        "\55\2\uffff\1\57\4\uffff\1\62\1\35\2\uffff\5\35\14\uffff\1\72\2"+
        "\uffff\1\74\5\35\1\45\3\uffff\1\102\1\103\1\35\1\105\1\35\2\uffff"+
        "\1\35\1\uffff\1\35\1\111\1\112\2\uffff";
    static final String DFA11_eofS =
        "\113\uffff";
    static final String DFA11_minS =
        "\1\11\1\uffff\10\55\3\uffff\1\0\2\uffff\1\60\1\uffff\1\57\1\55\2"+
        "\uffff\1\45\3\uffff\1\52\1\53\1\164\2\uffff\1\141\1\151\1\164\2"+
        "\151\1\60\13\uffff\1\0\2\uffff\1\60\1\162\1\144\1\165\2\156\1\55"+
        "\3\uffff\2\60\1\162\1\60\1\164\2\uffff\1\156\1\uffff\1\146\2\60"+
        "\2\uffff";
    static final String DFA11_maxS =
        "\1\175\1\uffff\1\156\1\150\1\157\1\145\1\141\1\162\1\71\1\55\3\uffff"+
        "\1\uffff\2\uffff\1\172\1\uffff\1\57\1\55\2\uffff\1\45\3\uffff\1"+
        "\52\1\53\1\164\2\uffff\1\141\1\151\1\164\2\151\1\71\13\uffff\1\uffff"+
        "\2\uffff\1\172\1\162\1\144\1\165\2\156\1\71\3\uffff\2\172\1\162"+
        "\1\172\1\164\2\uffff\1\156\1\uffff\1\146\2\172\2\uffff";
    static final String DFA11_acceptS =
        "\1\uffff\1\1\10\uffff\1\12\1\13\1\14\1\uffff\1\16\1\17\1\uffff\1"+
        "\21\2\uffff\1\24\1\25\1\uffff\1\30\1\31\1\32\3\uffff\1\11\1\41\6"+
        "\uffff\1\10\1\15\1\42\1\20\1\40\1\34\1\22\1\37\1\23\1\27\1\26\1"+
        "\uffff\1\36\1\35\7\uffff\1\33\1\43\1\2\5\uffff\1\3\1\4\1\uffff\1"+
        "\6\3\uffff\1\5\1\7";
    static final String DFA11_specialS =
        "\15\uffff\1\1\42\uffff\1\0\32\uffff}>";
    static final String[] DFA11_transitionS = {
            "\2\1\2\uffff\1\1\22\uffff\1\1\1\uffff\1\15\2\uffff\1\26\1\13"+
            "\1\uffff\1\16\1\17\1\22\1\33\1\27\1\23\1\30\1\32\12\10\1\uffff"+
            "\1\31\1\uffff\1\14\3\uffff\32\11\1\20\1\uffff\1\21\3\uffff\2"+
            "\11\1\3\5\11\1\2\3\11\1\6\2\11\1\7\1\11\1\5\3\11\1\4\4\11\1"+
            "\24\1\12\1\25",
            "",
            "\1\36\100\uffff\1\34",
            "\1\36\72\uffff\1\37",
            "\1\36\101\uffff\1\40",
            "\1\36\67\uffff\1\41",
            "\1\36\63\uffff\1\42",
            "\1\36\104\uffff\1\43",
            "\1\36\1\44\1\uffff\12\10",
            "\1\36",
            "",
            "",
            "",
            "\0\47",
            "",
            "",
            "\12\51\7\uffff\32\51\2\uffff\1\51\3\uffff\32\51",
            "",
            "\1\52",
            "\1\54",
            "",
            "",
            "\1\56",
            "",
            "",
            "",
            "\1\60",
            "\1\61",
            "\1\63",
            "",
            "",
            "\1\64",
            "\1\65",
            "\1\66",
            "\1\67",
            "\1\70",
            "\12\71",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "",
            "\0\73",
            "",
            "",
            "\12\35\7\uffff\32\35\6\uffff\32\35",
            "\1\75",
            "\1\76",
            "\1\77",
            "\1\100",
            "\1\101",
            "\1\36\2\uffff\12\71",
            "",
            "",
            "",
            "\12\35\7\uffff\32\35\6\uffff\32\35",
            "\12\35\7\uffff\32\35\6\uffff\32\35",
            "\1\104",
            "\12\35\7\uffff\32\35\6\uffff\32\35",
            "\1\106",
            "",
            "",
            "\1\107",
            "",
            "\1\110",
            "\12\35\7\uffff\32\35\6\uffff\32\35",
            "\12\35\7\uffff\32\35\6\uffff\32\35",
            "",
            ""
    };

    static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
    static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
    static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
    static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
    static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
    static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
    static final short[][] DFA11_transition;

    static {
        int numStates = DFA11_transitionS.length;
        DFA11_transition = new short[numStates][];
        for (int i=0; i<numStates; i++) {
            DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
        }
    }

    class DFA11 extends DFA {

        public DFA11(BaseRecognizer recognizer) {
            this.recognizer = recognizer;
            this.decisionNumber = 11;
            this.eot = DFA11_eot;
            this.eof = DFA11_eof;
            this.min = DFA11_min;
            this.max = DFA11_max;
            this.accept = DFA11_accept;
            this.special = DFA11_special;
            this.transition = DFA11_transition;
        }
        public String getDescription() {
            return "1:1: Tokens : ( BLANCO | INT | CHAR | VOID | RET | MAIN | PRINTF | NUMERO | IDENT | OR | AND | IGUAL | COMILLAS | PARENTESIS_A | PARENTESIS_C | CORCHETE_A | CORCHETE_C | ASTERISCO | GUION | LLAVE_A | LLAVE_C | PORCENTAJE | NUEVOBLOQUE | COMA | PUNTO | PUNTO_COMA | COMENTARIO_A | COMENTARIO_C | SUMA | INCREMENTO | DECREMENTO | CORCHETES | RANGO | CADENA | COMENTARIO );";
        }
        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
            IntStream input = _input;
        	int _s = s;
            switch ( s ) {
                    case 0 : 
                        int LA11_48 = input.LA(1);

                        s = -1;
                        if ( ((LA11_48 >= '\u0000' && LA11_48 <= '\uFFFF')) ) {s = 59;}

                        else s = 58;

                        if ( s>=0 ) return s;
                        break;

                    case 1 : 
                        int LA11_13 = input.LA(1);

                        s = -1;
                        if ( ((LA11_13 >= '\u0000' && LA11_13 <= '\uFFFF')) ) {s = 39;}

                        else s = 38;

                        if ( s>=0 ) return s;
                        break;
            }
            NoViableAltException nvae =
                new NoViableAltException(getDescription(), 11, _s, input);
            error(nvae);
            throw nvae;
        }

    }
 

}